package utils;

import java.util.Iterator;
import java.util.ResourceBundle;
import java.util.Set;
/**
 * ConfigUtils工具类用于从配置文件中获取指定的键值
 * 
 * @author jason 2009-10-15
 * @since 1.0
 */
public class ConfigUtils {

	/** appConfig ResourceBundle 应用程序配置资源束 */
	private static final ResourceBundle appConfig = ResourceBundle.getBundle("config.app");
	
	/** dbConfig ResourceBundle 数据库配置资源束 */
	private static final ResourceBundle dbConfig = ResourceBundle.getBundle("config.db");
	
	/** levelOneConfig ResouceBundle 一级栏目配置资源束 */
	private static final ResourceBundle levelOneConfig = ResourceBundle.getBundle("config.levelone");
	
	/** rootConfig ResourceBundel 根目录配置资源束 */
	private static final ResourceBundle rootConfig = ResourceBundle.getBundle("config.root");
	
	/** levelTowConfig ResourceBundle 二级栏目动态页面信息资源束 */
	private static final ResourceBundle levelTwoConfig = ResourceBundle.getBundle("config.leveltwo");
	
	/**
	 * getAppConfig方法根据键从应用程序资源束中读取对应值
	 * 
	 * @param key String 键
	 * @return	值
	 */
	public static String getAppConfig(String key){
		return appConfig.getString(key);
	}
	
	/**
	 * getDBConfig方法根据键从应用程序资源束中读取对应值
	 * 
	 * @param key String 键
	 * @return 值
	 */
	public static String getDBConfig(String key){
		return dbConfig.getString(key);
	}
	
	/**
	 * getLevelOnesBundle方法用于获取固定一级栏目资源束
	 * 
	 * @return	ResourceBundle对象
	 */
	public static ResourceBundle getLevelOnesConfig(){
		return levelOneConfig;
	}
	
	/**
	 * getRootConfig方法用于获取Web根目录文件配置资源束
	 * 
	 * @return
	 */
	public static ResourceBundle getRootConfig(){
		return rootConfig;
	}
	
	/**
	 * getLevelTowsConfig方法用于获取二级栏目下的动态页面信息
	 * 
	 * @return
	 */
	public static ResourceBundle getLevelTwosConfig(){
		return levelTwoConfig;
	}
	
	
	
	/**
	 * 测试用
	 * @param args
	 */
	public static void main(String[] args) {
		ResourceBundle levelOneConfig = getLevelOnesConfig();
		Set<String> keySet = levelOneConfig.keySet();
		Iterator<String> it = keySet.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}
}
